package unrn.isiii.bean.rest;

import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import unrn.isiii.dao.ILineaDao;
import unrn.isiii.model.Linea;
import unrn.isiii.model.Usuario;

@Component
@Path("/linea")
public class LineaRestService {

	@Autowired
	ILineaDao iLineaDao;

	@GET
	@Path("/{nombre}")
	@Produces(MediaType.APPLICATION_JSON)
	public Linea usuarioByUsername(@PathParam("nombre") String nombre) {

		try {
			return getiLineaDao().findByNombre(nombre);
		} catch (Exception e) {
			return null;
		}

	}

	@GET
	@Path("/crear/{nombre}")
	@Produces(MediaType.APPLICATION_JSON)
	public Mensaje alta(@PathParam("nombre") String nombre) {

		try {
			getiLineaDao().create(new Linea(nombre));
			return new Mensaje(true, "ok");
		} catch (Exception e) {
			return new Mensaje(false, "Error");
		}

	}

	@GET
	@Path("/lista")
	@Produces(MediaType.APPLICATION_JSON)
	public List<Linea> lista() {

		try {

			return getiLineaDao().findAll();
		} catch (Exception e) {
			return null;
		}

	}

	public ILineaDao getiLineaDao() {
		return iLineaDao;
	}

	public void setiLineaDao(ILineaDao iLineaDao) {
		this.iLineaDao = iLineaDao;
	}

}